package com.virtium.vpc.form;

import java.util.ArrayList;

import org.apache.struts.action.ActionForm;
import org.apache.struts.upload.FormFile;
import com.virtium.vpc.action.controller.VpcConfigurationManager;
import com.virtium.vpc.action.controller.VpcDensityManager;
import com.virtium.vpc.action.controller.VpcFormfactorManager;
import com.virtium.vpc.action.controller.VpcHeightManager;

import com.virtium.vpc.action.controller.VpcModulerankManager;
import com.virtium.vpc.action.controller.VpcPackageManager;
import com.virtium.vpc.action.controller.VpcProductstatusManager;
import com.virtium.vpc.action.controller.VpcRamdensityManager;
import com.virtium.vpc.action.controller.VpcRevisiontypeManager;
import com.virtium.vpc.action.controller.VpcSpeedManager;
import com.virtium.vpc.action.controller.VpcSsdramdensityManager;
import com.virtium.vpc.action.controller.VpcTechnologyManager;
import com.virtium.vpc.action.controller.VpcThicknessManager;
import com.virtium.vpc.hibernate.model.VpcCongiguration;
import com.virtium.vpc.hibernate.model.VpcDensity;
import com.virtium.vpc.hibernate.model.VpcFormfactor;
import com.virtium.vpc.hibernate.model.VpcHeight;
import com.virtium.vpc.hibernate.model.VpcModulerank;
import com.virtium.vpc.hibernate.model.VpcPackage;
import com.virtium.vpc.hibernate.model.VpcProductstatus;
import com.virtium.vpc.hibernate.model.VpcRamdensity;
import com.virtium.vpc.hibernate.model.VpcRevisiontype;
import com.virtium.vpc.hibernate.model.VpcSpeed;
import com.virtium.vpc.hibernate.model.VpcSsdramdensity;
import com.virtium.vpc.hibernate.model.VpcTechnology;
import com.virtium.vpc.hibernate.model.VpcThickness;


public class productForm extends ActionForm {
	private ArrayList<VpcTechnology> arTech = null;
	private ArrayList<VpcProductstatus> arProductStatus = null;
	//private ArrayList<VpcRevision> arRevision = null;
	private ArrayList<VpcRevisiontype> arRevisionType = null;
	private ArrayList<VpcDensity> arDensity = null;
	//private String registerUnbuffer = "";
	//private String ecc = "";
	//private ArrayList<VpcModuleheight> arModuleHeight = null;
	//private ArrayList<VpcModulethinkness> arModuleThinkness = null;
	private ArrayList<VpcRamdensity> arRamDensity = null;
	private ArrayList<VpcPackage> arPackage = null;
	private ArrayList<VpcCongiguration> arConfig = null;
	//private ArrayList<VpcCount> arCount = null;
	private ArrayList<VpcModulerank> arModuleRank = null;
	//private ArrayList<VpcVoltage> arVoltage = null;
	//private ArrayList<VpcPincount> arPinCount = null;
	//private ArrayList<VpcModuledatawidth> arModuleDataWidth = null;
	private ArrayList<VpcSpeed> arSpeed = null;
	//private ArrayList<VpcCaslatency> arCaslatency = null;
	//private ArrayList<VpcInternalbank> arInternalBank = null;
	private ArrayList<VpcFormfactor> arFormFactor = null;
	private String dierev = "";
	//private ArrayList<VpcBrand> arBrach = null;
	//private String underFilled = "";
	//private String heatSpreader = "";
	//private String conformalCoating = "";
	//private ArrayList<VpcHightemperature> arHighTemperature = null;
	//private String qualityInspection = "";
	//private ArrayList<VpcRevision> arStandardFormFactor = null;	
	private ArrayList<VpcHeight> arHeight = null;
	private ArrayList<VpcThickness> arThickness = null;
	private ArrayList<VpcSsdramdensity> arVpcSsdramdensity = null;
	


	//private String test = "";
	private FormFile objectiveFile;
	private FormFile objectiveFile2;
	private int productIndex = 1;

	/**
	 * @return the arTech
	 */
	public ArrayList<VpcTechnology> getArTech() {
		return new VpcTechnologyManager().getAll();
	}

	/**
	 * @param arTech
	 *            the arTech to set
	 */
	public void setArTech(ArrayList<VpcTechnology> arTech) {
		this.arTech = arTech;
	}

	/**
	 * @return the arProductStatus
	 */
	public ArrayList<VpcProductstatus> getArProductStatus() {
		return new VpcProductstatusManager().getAll();
	}

	/**
	 * @param arProductStatus
	 *            the arProductStatus to set
	 */
	public void setArProductStatus(ArrayList<VpcProductstatus> arProductStatus) {
		this.arProductStatus = arProductStatus;
	}

	/**
	 * @return the arRevision
	 *//*
	public ArrayList<VpcRevision> getArRevision() {
		return new VpcRevisionManager().getAll();
	}

	*//**
	 * @param arRevision
	 *            the arRevision to set
	 *//*
	public void setArRevision(ArrayList<VpcRevision> arRevision) {
		this.arRevision = arRevision;
	}
*/
	/**
	 * @return the arRevisionType
	 */
	public ArrayList<VpcRevisiontype> getArRevisionType() {
		return new VpcRevisiontypeManager().getAll();
	}

	/**
	 * @param arRevisionType
	 *            the arRevisionType to set
	 */
	public void setArRevisionType(ArrayList<VpcRevisiontype> arRevisionType) {
		this.arRevisionType = arRevisionType;
	}

	/**
	 * @return the arDensity
	 */
	public ArrayList<VpcDensity> getArDensity() {
		return new VpcDensityManager().getAll();
	}

	/**
	 * @param arDensity
	 *            the arDensity to set
	 */
	public void setArDensity(ArrayList<VpcDensity> arDensity) {
		this.arDensity = arDensity;
	}

	/**
	 * @return the registerUnbuffer
	 */
	/*public String getRegisterUnbuffer() {
		return this.registerUnbuffer;
	}

	*//**
	 * @param registerUnbuffer
	 *            the registerUnbuffer to set
	 *//*
	public void setRegisterUnbuffer(String registerUnbuffer) {
		this.registerUnbuffer = registerUnbuffer;
	}

	*//**
	 * @return the ecc
	 *//*
	public String getEcc() {
		return ecc;
	}

	*//**
	 * @param ecc
	 *            the ecc to set
	 *//*
	public void setEcc(String ecc) {
		this.ecc = ecc;
	}*/

	/**
	 * @return the arModuleHeight
	 */
	/*public ArrayList<VpcModuleheight> getArModuleHeight() {
		return new VpcModuleheightManager().getAll();
	}

	*//**
	 * @param arModuleHeight
	 *            the arModuleHeight to set
	 *//*
	public void setArModuleHeight(ArrayList<VpcModuleheight> arModuleHeight) {
		this.arModuleHeight = arModuleHeight;
	}*/

	/**
	 * @return the arModuleThinkness
	 */
	/*public ArrayList<VpcModulethinkness> getArModuleThinkness() {
		return new VpcModulethinknessManager().getAll();
	}

	*//**
	 * @param arModuleThinkness
	 *            the arModuleThinkness to set
	 *//*
	public void setArModuleThinkness(
			ArrayList<VpcModulethinkness> arModuleThinkness) {
		this.arModuleThinkness = arModuleThinkness;
	}*/

	/**
	 * @return the arRamDensity
	 */
	public ArrayList<VpcRamdensity> getArRamDensity() {
		return new VpcRamdensityManager().getAll();
	}

	/**
	 * @param arRamDensity
	 *            the arRamDensity to set
	 */
	public void setArRamDensity(ArrayList<VpcRamdensity> arRamDensity) {
		this.arRamDensity = arRamDensity;
	}

	/**
	 * @return the arPackage
	 */
	public ArrayList<VpcPackage> getArPackage() {
		return new VpcPackageManager().getAll();
	}

	/**
	 * @param arPackage
	 *            the arPackage to set
	 */
	public void setArPackage(ArrayList<VpcPackage> arPackage) {
		this.arPackage = arPackage;
	}

	/**
	 * @return the arConfig
	 */
	public ArrayList<VpcCongiguration> getArConfig() {
		return new VpcConfigurationManager().getAll();
	}

	/**
	 * @param arConfig
	 *            the arConfig to set
	 */
	public void setArConfig(ArrayList<VpcCongiguration> arConfig) {
		this.arConfig = arConfig;
	}

	/**
	 * @return the arCount
	 *//*
	public ArrayList<VpcCount> getArCount() {
		return new VpcCountManager().getAll();
	}

	*//**
	 * @param arCount
	 *            the arCount to set
	 *//*
	public void setArCount(ArrayList<VpcCount> arCount) {
		this.arCount = arCount;
	}*/

	/**
	 * @return the arModuleRank
	 */
	public ArrayList<VpcModulerank> getArModuleRank() {
		return new VpcModulerankManager().getAll();
	}

	/**
	 * @param arModuleRank
	 *            the arModuleRank to set
	 */
	public void setArModuleRank(ArrayList<VpcModulerank> arModuleRank) {
		this.arModuleRank = arModuleRank;
	}

	/**
	 * @return the arVoltage
	 */
	/*public ArrayList<VpcVoltage> getArVoltage() {
		return new VpcVoltageManager().getAll();
	}

	*//**
	 * @param arVoltage
	 *            the arVoltage to set
	 *//*
	public void setArVoltage(ArrayList<VpcVoltage> arVoltage) {
		this.arVoltage = arVoltage;
	}*/

	/**
	 * @return the arPinCount
	 */
	/*public ArrayList<VpcPincount> getArPinCount() {
		return new VpcPincountManager().getAll();
	}

	*//**
	 * @param arPinCount
	 *            the arPinCount to set
	 *//*
	public void setArPinCount(ArrayList<VpcPincount> arPinCount) {
		this.arPinCount = arPinCount;
	}*/

	/**
	 * @return the arModuleDataWidth
	 */
	/*public ArrayList<VpcModuledatawidth> getArModuleDataWidth() {
		return new VpcModuledatawidthManager().getAll();
	}

	*//**
	 * @param arModuleDataWidth
	 *            the arModuleDataWidth to set
	 *//*
	public void setArModuleDataWidth(
			ArrayList<VpcModuledatawidth> arModuleDataWidth) {
		this.arModuleDataWidth = arModuleDataWidth;
	}

	*//**
	 * @return the arModuleSpeed
	 *//*
	public ArrayList<VpcModulespeed> getArModuleSpeed() {
		return new VpcModulespeedmanager().getAll();
	}

	*//**
	 * @param arModuleSpeed
	 *            the arModuleSpeed to set
	 *//*
	public void setArModuleSpeed(ArrayList<VpcModulespeed> arModuleSpeed) {
		this.arModuleSpeed = arModuleSpeed;
	}

	*//**
	 * @return the arCaslatency
	 *//*
	public ArrayList<VpcCaslatency> getArCaslatency() {
		return new VpcCaslatencyManager().getAll();
	}

	*//**
	 * @param arCaslatency
	 *            the arCaslatency to set
	 *//*
	public void setArCaslatency(ArrayList<VpcCaslatency> arCaslatency) {
		this.arCaslatency = arCaslatency;
	}

	*//**
	 * @return the arInternalBank
	 *//*
	public ArrayList<VpcInternalbank> getArInternalBank() {
		return new VpcInternalbankManager().getAll();
	}

	*//**
	 * @param arInternalBank
	 *            the arInternalBank to set
	 *//*
	public void setArInternalBank(ArrayList<VpcInternalbank> arInternalBank) {
		this.arInternalBank = arInternalBank;
	}*/

	/**
	 * @return the arFormFactor
	 */
	public ArrayList<VpcFormfactor> getArFormFactor() {
		return new VpcFormfactorManager().getAll();
	}

	/**
	 * @param arFormFactor
	 *            the arFormFactor to set
	 */
	public void setArFormFactor(ArrayList<VpcFormfactor> arFormFactor) {
		this.arFormFactor = arFormFactor;
	}

	/**
	 * @return the dierev
	 */
	public String getDierev() {
		return dierev;
	}

	/**
	 * @param dierev
	 *            the dierev to set
	 */
	public void setDierev(String dierev) {
		this.dierev = dierev;
	}

	/**
	 * @return the arBrach
	 */
	/*public ArrayList<VpcBrand> getArBrach() {
		return new VpcBrandManager().getAll();
	}

	*//**
	 * @param arBrach
	 *            the arBrach to set
	 *//*
	public void setArBrach(ArrayList<VpcBrand> arBrach) {
		this.arBrach = arBrach;
	}

	*//**
	 * @return the underFilled
	 *//*
	public String getUnderFilled() {
		return underFilled;
	}

	*//**
	 * @param underFilled
	 *            the underFilled to set
	 *//*
	public void setUnderFilled(String underFilled) {
		this.underFilled = underFilled;
	}

	*//**
	 * @return the heatSpreader
	 *//*
	public String getHeatSpreader() {
		return heatSpreader;
	}

	*//**
	 * @param heatSpreader
	 *            the heatSpreader to set
	 *//*
	public void setHeatSpreader(String heatSpreader) {
		this.heatSpreader = heatSpreader;
	}

	*//**
	 * @return the conformalCoating
	 *//*
	public String getConformalCoating() {
		return conformalCoating;
	}

	*//**
	 * @param conformalCoating
	 *            the conformalCoating to set
	 *//*
	public void setConformalCoating(String conformalCoating) {
		this.conformalCoating = conformalCoating;
	}

	*//**
	 * @return the arHighTemperature
	 *//*
	public ArrayList<VpcHightemperature> getArHighTemperature() {
		return new VpcHightemperatureManager().getAll();
	}

	*//**
	 * @param arHighTemperature
	 *            the arHighTemperature to set
	 *//*
	public void setArHighTemperature(
			ArrayList<VpcHightemperature> arHighTemperature) {
		this.arHighTemperature = arHighTemperature;
	}

	*//**
	 * @return the qualityInspection
	 *//*
	public String getQualityInspection() {
		return qualityInspection;
	}

	*//**
	 * @param qualityInspection
	 *            the qualityInspection to set
	 *//*
	public void setQualityInspection(String qualityInspection) {
		this.qualityInspection = qualityInspection;
	}

	*//**
	 * @return the arStandardFormFactor
	 *//*
	public ArrayList<VpcRevision> getArStandardFormFactor() {
		return new VpcRevisionManager().getAllStandardFormFactor(1);
	}

	*//**
	 * @param arStandardFormFactor
	 *            the arStandardFormFactor to set
	 *//*
	public void setArStandardFormFactor(
			ArrayList<VpcRevision> arStandardFormFactor) {
		this.arStandardFormFactor = arStandardFormFactor;
	}

	

	
	*//**
	 * @return the test
	 *//*
	public String getTest() {
		return "TuanAnh Test";
	}

	*//**
	 * @param test
	 *            the test to set
	 *//*
	public void setTest(String test) {
		this.test = test;
	}*/

	/**
	 * @return the objectiveFile
	 */
	public FormFile getObjectiveFile() {
		return objectiveFile;
	}

	/**
	 * @param objectiveFile
	 *            the objectiveFile to set
	 */
	public void setObjectiveFile(FormFile objectiveFile) {
		this.objectiveFile = objectiveFile;
	}

	public ArrayList<VpcHeight> getArHeight() {
		return VpcHeightManager.getAll();
	}

	public void setArHeight(ArrayList<VpcHeight> arHeight) {
		this.arHeight = arHeight;
	}

	public ArrayList<VpcThickness> getArThickness() {
		return VpcThicknessManager.getAll();
	}

	public void setArThickness(ArrayList<VpcThickness> arThickness) {
		this.arThickness = arThickness;
	}

	public int getProductIndex() {
		return productIndex;
	}

	public void setProductIndex(int productIndex) {
		this.productIndex = productIndex;
	}

	public FormFile getObjectiveFile2() {
		return objectiveFile2;
	}

	public void setObjectiveFile2(FormFile objectiveFile2) {
		this.objectiveFile2 = objectiveFile2;
	}

	
	public ArrayList<VpcSpeed> getArSpeed() {
		return VpcSpeedManager.getAll();
	}

	
	public void setArSpeed(ArrayList<VpcSpeed> arSpeed) {
		this.arSpeed = arSpeed;
	}
	
	public ArrayList<VpcSsdramdensity> getArVpcSsdramdensity() {
		return VpcSsdramdensityManager.getAll();
	}

	public void setArVpcSsdramdensity(ArrayList<VpcSsdramdensity> arVpcSsdramdensity) {
		this.arVpcSsdramdensity = arVpcSsdramdensity;
	}
}
